﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Collections;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x02000FDB RID: 4059
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class RogueTournAreaInfo : IMessage<RogueTournAreaInfo>, IMessage, IEquatable<RogueTournAreaInfo>, IDeepCloneable<RogueTournAreaInfo>, IBufferMessage
	{
		// Token: 0x17003352 RID: 13138
		// (get) Token: 0x0600B577 RID: 46455 RVA: 0x001E9A23 File Offset: 0x001E7C23
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<RogueTournAreaInfo> Parser
		{
			get
			{
				return RogueTournAreaInfo._parser;
			}
		}

		// Token: 0x17003353 RID: 13139
		// (get) Token: 0x0600B578 RID: 46456 RVA: 0x001E9A2A File Offset: 0x001E7C2A
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return RogueTournAreaInfoReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x17003354 RID: 13140
		// (get) Token: 0x0600B579 RID: 46457 RVA: 0x001E9A3C File Offset: 0x001E7C3C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return RogueTournAreaInfo.Descriptor;
			}
		}

		// Token: 0x0600B57A RID: 46458 RVA: 0x001E9A43 File Offset: 0x001E7C43
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournAreaInfo()
		{
		}

		// Token: 0x0600B57B RID: 46459 RVA: 0x001E9A58 File Offset: 0x001E7C58
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournAreaInfo(RogueTournAreaInfo other) : this()
		{
			this.isUnlocked_ = other.isUnlocked_;
			this.areaId_ = other.areaId_;
			this.unlockedTournDifficultyList_ = other.unlockedTournDifficultyList_.Clone();
			this.completed_ = other.completed_;
			this.isTakenReward_ = other.isTakenReward_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600B57C RID: 46460 RVA: 0x001E9ABD File Offset: 0x001E7CBD
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RogueTournAreaInfo Clone()
		{
			return new RogueTournAreaInfo(this);
		}

		// Token: 0x17003355 RID: 13141
		// (get) Token: 0x0600B57D RID: 46461 RVA: 0x001E9AC5 File Offset: 0x001E7CC5
		// (set) Token: 0x0600B57E RID: 46462 RVA: 0x001E9ACD File Offset: 0x001E7CCD
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool IsUnlocked
		{
			get
			{
				return this.isUnlocked_;
			}
			set
			{
				this.isUnlocked_ = value;
			}
		}

		// Token: 0x17003356 RID: 13142
		// (get) Token: 0x0600B57F RID: 46463 RVA: 0x001E9AD6 File Offset: 0x001E7CD6
		// (set) Token: 0x0600B580 RID: 46464 RVA: 0x001E9ADE File Offset: 0x001E7CDE
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint AreaId
		{
			get
			{
				return this.areaId_;
			}
			set
			{
				this.areaId_ = value;
			}
		}

		// Token: 0x17003357 RID: 13143
		// (get) Token: 0x0600B581 RID: 46465 RVA: 0x001E9AE7 File Offset: 0x001E7CE7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public RepeatedField<uint> UnlockedTournDifficultyList
		{
			get
			{
				return this.unlockedTournDifficultyList_;
			}
		}

		// Token: 0x17003358 RID: 13144
		// (get) Token: 0x0600B582 RID: 46466 RVA: 0x001E9AEF File Offset: 0x001E7CEF
		// (set) Token: 0x0600B583 RID: 46467 RVA: 0x001E9AF7 File Offset: 0x001E7CF7
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Completed
		{
			get
			{
				return this.completed_;
			}
			set
			{
				this.completed_ = value;
			}
		}

		// Token: 0x17003359 RID: 13145
		// (get) Token: 0x0600B584 RID: 46468 RVA: 0x001E9B00 File Offset: 0x001E7D00
		// (set) Token: 0x0600B585 RID: 46469 RVA: 0x001E9B08 File Offset: 0x001E7D08
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool IsTakenReward
		{
			get
			{
				return this.isTakenReward_;
			}
			set
			{
				this.isTakenReward_ = value;
			}
		}

		// Token: 0x0600B586 RID: 46470 RVA: 0x001E9B11 File Offset: 0x001E7D11
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as RogueTournAreaInfo);
		}

		// Token: 0x0600B587 RID: 46471 RVA: 0x001E9B20 File Offset: 0x001E7D20
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(RogueTournAreaInfo other)
		{
			return other != null && (other == this || (this.IsUnlocked == other.IsUnlocked && this.AreaId == other.AreaId && this.unlockedTournDifficultyList_.Equals(other.unlockedTournDifficultyList_) && this.Completed == other.Completed && this.IsTakenReward == other.IsTakenReward && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600B588 RID: 46472 RVA: 0x001E9BA0 File Offset: 0x001E7DA0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.IsUnlocked)
			{
				num ^= this.IsUnlocked.GetHashCode();
			}
			if (this.AreaId != 0U)
			{
				num ^= this.AreaId.GetHashCode();
			}
			num ^= this.unlockedTournDifficultyList_.GetHashCode();
			if (this.Completed)
			{
				num ^= this.Completed.GetHashCode();
			}
			if (this.IsTakenReward)
			{
				num ^= this.IsTakenReward.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600B589 RID: 46473 RVA: 0x001E9C38 File Offset: 0x001E7E38
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600B58A RID: 46474 RVA: 0x001E9C40 File Offset: 0x001E7E40
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600B58B RID: 46475 RVA: 0x001E9C4C File Offset: 0x001E7E4C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.AreaId != 0U)
			{
				output.WriteRawTag(16);
				output.WriteUInt32(this.AreaId);
			}
			if (this.IsUnlocked)
			{
				output.WriteRawTag(40);
				output.WriteBool(this.IsUnlocked);
			}
			this.unlockedTournDifficultyList_.WriteTo(ref output, RogueTournAreaInfo._repeated_unlockedTournDifficultyList_codec);
			if (this.Completed)
			{
				output.WriteRawTag(64);
				output.WriteBool(this.Completed);
			}
			if (this.IsTakenReward)
			{
				output.WriteRawTag(104);
				output.WriteBool(this.IsTakenReward);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600B58C RID: 46476 RVA: 0x001E9CF0 File Offset: 0x001E7EF0
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.IsUnlocked)
			{
				num += 2;
			}
			if (this.AreaId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.AreaId);
			}
			num += this.unlockedTournDifficultyList_.CalculateSize(RogueTournAreaInfo._repeated_unlockedTournDifficultyList_codec);
			if (this.Completed)
			{
				num += 2;
			}
			if (this.IsTakenReward)
			{
				num += 2;
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600B58D RID: 46477 RVA: 0x001E9D68 File Offset: 0x001E7F68
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(RogueTournAreaInfo other)
		{
			if (other == null)
			{
				return;
			}
			if (other.IsUnlocked)
			{
				this.IsUnlocked = other.IsUnlocked;
			}
			if (other.AreaId != 0U)
			{
				this.AreaId = other.AreaId;
			}
			this.unlockedTournDifficultyList_.Add(other.unlockedTournDifficultyList_);
			if (other.Completed)
			{
				this.Completed = other.Completed;
			}
			if (other.IsTakenReward)
			{
				this.IsTakenReward = other.IsTakenReward;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600B58E RID: 46478 RVA: 0x001E9DF1 File Offset: 0x001E7FF1
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600B58F RID: 46479 RVA: 0x001E9DFC File Offset: 0x001E7FFC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num <= 48U)
				{
					if (num == 16U)
					{
						this.AreaId = input.ReadUInt32();
						continue;
					}
					if (num == 40U)
					{
						this.IsUnlocked = input.ReadBool();
						continue;
					}
					if (num == 48U)
					{
						goto IL_5A;
					}
				}
				else
				{
					if (num == 50U)
					{
						goto IL_5A;
					}
					if (num == 64U)
					{
						this.Completed = input.ReadBool();
						continue;
					}
					if (num == 104U)
					{
						this.IsTakenReward = input.ReadBool();
						continue;
					}
				}
				this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
				continue;
				IL_5A:
				this.unlockedTournDifficultyList_.AddEntriesFrom(ref input, RogueTournAreaInfo._repeated_unlockedTournDifficultyList_codec);
			}
		}

		// Token: 0x0400495C RID: 18780
		private static readonly MessageParser<RogueTournAreaInfo> _parser = new MessageParser<RogueTournAreaInfo>(() => new RogueTournAreaInfo());

		// Token: 0x0400495D RID: 18781
		private UnknownFieldSet _unknownFields;

		// Token: 0x0400495E RID: 18782
		public const int IsUnlockedFieldNumber = 5;

		// Token: 0x0400495F RID: 18783
		private bool isUnlocked_;

		// Token: 0x04004960 RID: 18784
		public const int AreaIdFieldNumber = 2;

		// Token: 0x04004961 RID: 18785
		private uint areaId_;

		// Token: 0x04004962 RID: 18786
		public const int UnlockedTournDifficultyListFieldNumber = 6;

		// Token: 0x04004963 RID: 18787
		private static readonly FieldCodec<uint> _repeated_unlockedTournDifficultyList_codec = FieldCodec.ForUInt32(50U);

		// Token: 0x04004964 RID: 18788
		private readonly RepeatedField<uint> unlockedTournDifficultyList_ = new RepeatedField<uint>();

		// Token: 0x04004965 RID: 18789
		public const int CompletedFieldNumber = 8;

		// Token: 0x04004966 RID: 18790
		private bool completed_;

		// Token: 0x04004967 RID: 18791
		public const int IsTakenRewardFieldNumber = 13;

		// Token: 0x04004968 RID: 18792
		private bool isTakenReward_;
	}
}
